/* 
 * File:   Minimizer.h
 * Author: hamed
 *
 * Created on November 23, 2010, 11:20 AM
 */

#ifndef _MINIMIZER_H
#define	_MINIMIZER_H

#include "BTree.h"
#include <math.h>

class Minimizer {
public:
    Minimizer();
    Minimizer(const Minimizer& orig);
    virtual ~Minimizer();

    void createFromFile(const char* fileName);

    void createFromBin(const char* binStr);

    void traverse();

    void print();

    void applyRules();

private:
    void readFile(const char* addr);

    BTree*  binaryTree;

    char*   sequence;
    unsigned long long int     seqLength;
    int     varNum;

    int*   onSet;
};

#endif	/* _MINIMIZER_H */

